home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 2: CDPD 1
/
Almathera Ten on Ten - Disc 2: CDPD 1.iso
/
pd
/
351-375
/
359
/
dice
/
dice.lzh
/
lib
/
memory
/
realloc.c
< prev
next >
Wrap
C/C++ Source or Header
|
1990-03-27
|
540b
|
40 lines
/*
* REALLOC.C
*
* (c)Copyright 1990, Matthew Dillon, All Rights Reserved
*/
#include <exec/types.h>
#include <exec/memory.h>
#include <stdlib.h>
#include <errno.h>
#define buf ((long *)vbuf)
void *
realloc(vbuf, bytes)
void *vbuf;
size_t bytes;
{
void *ptr = NULL;
int copy;
if (bytes <= 0 && buf) {
free(buf);
return(NULL);
}
if (buf) {
copy = buf[-1] - 8;
if (bytes <= copy)
return(buf);
}
ptr = malloc(bytes);
if (buf) {
movmem(buf, ptr, copy);
free(buf);
}
return(ptr);
}